package com.info33.platform.system.vo;

import com.info33.platform.business.app.vo.AppMenuRoleVO;
import com.info33.platform.business.app.vo.AppTenantMenuVO;
import com.info33.platform.business.app.vo.AppTenantUserVO;
import com.info33.platform.system.entity.SysTenant;
import com.info33.platform.system.entity.SysUser;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 系统 - 用户 - 登录信息
 *
 * @author admin
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SysUserVO extends SysUser {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "token")
    private String token;

    @ApiModelProperty(value = "租户用户对象")
    private SysTenantUserVO sysTenantUserVO;

    @ApiModelProperty(value = "app 租户对象")
    private AppTenantUserVO appTenantUserVO;

    @ApiModelProperty(value = "部门岗位对象")
    private SysDeptPostVO sysDeptPostVO;

    @ApiModelProperty(value = "岗位对象")
    private SysPostVO sysPostVO;

    @ApiModelProperty(value = "部门对象")
    private SysDeptVO deptVO;

    @ApiModelProperty(value = "租户对象")
    private SysTenant tenant;

    @ApiModelProperty(value = "用户拓展信息对象")
    private SysUserProfileVO userProfileVO;

    @ApiModelProperty(value = "菜单对象")
    private AppTenantMenuVO tenantMenuVO;

    @ApiModelProperty(value = "部门岗位信息")
    private List<SysDeptPostVO> deptPostVOList;

    @ApiModelProperty(value = "登录时间")
    private Date loginTime;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "生日")
    private String birthDayStr;

    @ApiModelProperty(value = "上线时间")
    private String recentOnLineTime;

    @ApiModelProperty(value = "菜单角色用户绑定信息")
    private AppMenuRoleVO menuRoleVO;

    @ApiModelProperty(value = "教育经历")
    private List<SysUserEducationVO> educationVOS;

}